using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using FreeSql.DataAnnotations;

namespace duqin.Entities
{

    /// <summary>
    /// 歌曲表
    /// </summary>
    [JsonObject(MemberSerialization.OptIn), Table(Name = "song", DisableSyncStructure = true)]
    public partial class Song
    {

        [JsonProperty, Column(Name = "id", DbType = "int(10)", IsPrimary = true, IsIdentity = true)]
        public int Id { get; set; }

        [JsonProperty, Column(Name = "cnName", StringLength = 64)]
        public string CnName { get; set; }

        [JsonProperty, Column(Name = "commentCount", DbType = "int(10)")]
        public int? CommentCount { get; set; } = 0;

        [JsonProperty, Column(Name = "coverPictureUrl")]
        public string CoverPictureUrl { get; set; }

        [JsonProperty, Column(Name = "enName", StringLength = 64)]
        public string EnName { get; set; }

        [JsonProperty, Column(Name = "readCount", DbType = "int(10)")]
        public int? ReadCount { get; set; } = 0;

        [JsonProperty, Column(Name = "songUrl")]
        public string SongUrl { get; set; }

        [JsonProperty, Column(Name = "thumbUpCount", DbType = "int(10)")]
        public int? ThumbUpCount { get; set; } = 0;

        [JsonProperty, Column(Name = "userId", DbType = "int(10)")]
        public int? UserId { get; set; }

        [JsonProperty]
        public User? User { get; set; }
    }

}
